package com.ft.oa.domain.development;


import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ft.oa.utils.SecurityUtils;
import lombok.Data;

import java.time.LocalDate;

/**
 * 产品版本
 */
@Data
public class ProductVersion {

  /**
   * 版本id
   */
  @TableId(type = IdType.AUTO)
  private Integer id;
  /**
   * 产品id
   */
  private Integer productId;
  /**
   * 规划类别,1产品，2产品架构，3编排产品，4组件功能
   */
  private Integer category;
  /**
   * 基线版本号
   */
  private String baseVersions;
  /**
   * 产品版本号
   */
  private String productVersions;
  /**
   * 需求来源
   */
  private String demand;
  /**
   * 主题描述
   */
  private String info;
  /**
   * 负责人id
   */
  private Long chiefId;
  /**
   * 负责人
   */
  private String chief;
  /**
   * 立项时间
   */
  private LocalDate projectTime;
  /**
   * 计划完成时间
   */
  @JsonFormat(shape=JsonFormat.Shape.STRING, pattern="yyyy-MM-dd")
  private LocalDate accomplishTime;
  /**
   * 实际完成时间
   */
  @JsonFormat(shape=JsonFormat.Shape.STRING, pattern="yyyy-MM-dd")
  private LocalDate practicalTime;
  /**
   * 数据状态 0:存在，1:删除
   */
  private Integer state;
  /**
   *  第几页
   */
  @TableField(exist = false)
  private Integer page;
  /**
   *  每页展示条数
   */
  @TableField(exist = false)
  private Integer size;

  /**
   * 立项时间-左
   */
  @JsonFormat(shape=JsonFormat.Shape.STRING, pattern="yyyy-MM-dd")
  @TableField(exist = false)
  private LocalDate projectTimeLeft;
  /**
   * 立项时间-右
   */
  @JsonFormat(shape=JsonFormat.Shape.STRING, pattern="yyyy-MM-dd")
  @TableField(exist = false)
  private LocalDate projectTimeRight;
  /**
   * 实际完成时间-左
   */
  @JsonFormat(shape=JsonFormat.Shape.STRING, pattern="yyyy-MM-dd")
  @TableField(exist = false)
  private LocalDate practicalTimeLeft;
  /**
   * 实际完成时间-右
   */
  @JsonFormat(shape=JsonFormat.Shape.STRING, pattern="yyyy-MM-dd")
  @TableField(exist = false)
  private LocalDate practicalTimeRight;
  /**
   * 创建人id
   */
  private Long creator = SecurityUtils.getCurrentUser().getId();

  /**
   * 修改人id
   */
  private Long editor = SecurityUtils.getCurrentUser().getId();
}
